package com.wing.bill.dao;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.wing.cabinet.model.response.CabinetVO;
import com.wing.cabinet.model.response.CellInventoryInoutVO;
import com.wing.cabinet.model.response.CellSingleInventoryProductVO;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import java.time.LocalDateTime;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

@Mapper
public interface CabinetFormDao {
    /*app起*/
    HashMap queryNewApp(@Param("begin") LocalDateTime localDateTime, @Param("end") LocalDateTime localDateTime1,@Param("code")String code);

    HashMap queryExistApp(@Param("categoryType")Integer categoryType);

    HashMap queryOtherApp(@Param("begin") LocalDateTime localDateTime, @Param("end") LocalDateTime localDateTime1,@Param("code")String code);

    HashMap queryNewTwo(@Param("begin") LocalDateTime localDateTime, @Param("end") LocalDateTime localDateTime1,@Param("code")String code);

    HashMap queryInNum(@Param("begin") LocalDateTime localDateTime, @Param("end") LocalDateTime localDateTime1,@Param("code")String code);

    List<HashMap> queryCabinetByName(@Param("begin") LocalDateTime localDateTime, @Param("end") LocalDateTime localDateTime1,@Param("code")String code);

    List<HashMap> queryCabinetByType(@Param("begin") LocalDateTime localDateTime, @Param("end") LocalDateTime localDateTime1,@Param("code")String code);//小程序用

    List<HashMap> queryCabinetByMachine(@Param("begin") LocalDateTime localDateTime, @Param("end") LocalDateTime localDateTime1,@Param("code")String code);
    /*app止*/




    HashMap queryNew(@Param("begin") LocalDateTime localDateTime, @Param("end") LocalDateTime localDateTime1, @Param("code") String code, @Param("mainCabCode")String mainCabCode);

    HashMap queryExist(@Param("code") String code, @Param("mainCabCode")String mainCabCode);

    HashMap queryOther(@Param("code")String code, @Param("mainCabCode")String mainCabCode);

    HashMap queryCheck(@Param("begin") LocalDateTime localDateTime, @Param("end") LocalDateTime localDateTime1,@Param("code")String code);

    List<HashMap> queryCabinetByNameWeb(@Param("begin") LocalDateTime localDateTime, @Param("end") LocalDateTime localDateTime1, @Param("param") String param, @Param("code") String code, @Param("mainCabCode")String mainCabCode);

    List<HashMap> queryCabinetBySkuName(@Param("begin") LocalDateTime localDateTime, @Param("end") LocalDateTime localDateTime1, @Param("param") String param, @Param("code") String code, @Param("mainCabCode")String mainCabCode);

    List<HashMap> queryCabinetByMachineWeb(@Param("begin") LocalDateTime localDateTime, @Param("end") LocalDateTime localDateTime1, @Param("param") String param, @Param("code") String code, @Param("mainCabCode")String mainCabCode);

    List<HashMap> queryCheckClick(@Param("begin") LocalDateTime localDateTime, @Param("end") LocalDateTime localDateTime1,@Param("code")String code);

    List<HashMap> queryAlarmClick(@Param("code") String code, @Param("mainCabCode")String mainCabCode);

    List<HashMap> queryCellQuantityClick(@Param("code") String code, @Param("mainCabCode")String mainCabCode);

    HashMap queryNewAmount(@Param("begin") LocalDateTime localDateTime, @Param("end") LocalDateTime localDateTime1, @Param("code") String code,@Param("mainCabCode")String mainCabCode);

    HashMap queryExistAmount(@Param("code") String code, @Param("mainCabCode")String mainCabCode);

    List<HashMap> queryNewAmountClick(@Param("begin") LocalDateTime localDateTime, @Param("end") LocalDateTime localDateTime1, @Param("code") String code, @Param("mainCabCode")String mainCabCode);

    List<HashMap> queryExistAmountClick(@Param("code") String code, @Param("mainCabCode")String mainCabCode);

    List<HashMap> queryNewQuantityClick(@Param("begin") LocalDateTime localDateTime, @Param("end") LocalDateTime localDateTime1, @Param("code") String code, @Param("mainCabCode")String mainCabCode);

    HashMap inTopQueryStaging(@Param("begin") LocalDateTime localDateTime, @Param("end") LocalDateTime localDateTime1, @Param("code") String code,  @Param("mainCabCode")String mainCabCode);

    HashMap inTopQueryRepair(@Param("begin") LocalDateTime localDateTime, @Param("end") LocalDateTime localDateTime1, @Param("code") String code, @Param("mainCabCode")String mainCabCode);

    HashMap inTopQueryRecycle(@Param("begin") LocalDateTime localDateTime, @Param("end") LocalDateTime localDateTime1, @Param("code") String code, @Param("mainCabCode")String mainCabCode);

    HashMap inTopQueryUnusual(@Param("begin") LocalDateTime localDateTime, @Param("end") LocalDateTime localDateTime1, @Param("code") String code, @Param("mainCabCode")String mainCabCode);

    List<HashMap> inProductByProduct(@Param("begin") LocalDateTime localDateTime, @Param("end") LocalDateTime localDateTime1, @Param("code") String code, @Param("mainCabCode")String mainCabCode);

    HashMap inProductByProductTotal(@Param("begin") LocalDateTime localDateTime, @Param("end") LocalDateTime localDateTime1, @Param("code") String code, @Param("mainCabCode")String mainCabCode);

    List<HashMap> inProductByType(@Param("begin") LocalDateTime localDateTime, @Param("end") LocalDateTime localDateTime1, @Param("code") String code, @Param("mainCabCode")String mainCabCode);

    List<HashMap> inRankByCreatorName(@Param("begin") LocalDateTime localDateTime, @Param("end") LocalDateTime localDateTime1, @Param("code") String code,@Param("mainCabCode")String mainCabCode);

    List<HashMap> inTopQueryStagingClick(@Param("begin") LocalDateTime localDateTime, @Param("end") LocalDateTime localDateTime1, @Param("code") String code, @Param("mainCabCode")String mainCabCode);

    List<HashMap> inTopQueryRepairClick(@Param("begin") LocalDateTime localDateTime, @Param("end") LocalDateTime localDateTime1, @Param("code") String code, @Param("mainCabCode")String mainCabCode);

    List<HashMap> inTopQueryRecycleClick(@Param("begin") LocalDateTime localDateTime, @Param("end") LocalDateTime localDateTime1,@Param("code")String code, @Param("mainCabCode")String mainCabCode);

    List<HashMap> inTopQueryUnusualClick(@Param("begin") LocalDateTime localDateTime, @Param("end") LocalDateTime localDateTime1,@Param("code")String code, @Param("mainCabCode")String mainCabCode);

    HashMap outTopQueryStagingNum(@Param("begin") LocalDateTime localDateTime, @Param("end") LocalDateTime localDateTime1, @Param("code") String code, @Param("mainCabCode")String mainCabCode);

    HashMap outTopQueryOutOrderNum(@Param("begin") LocalDateTime localDateTime, @Param("end") LocalDateTime localDateTime1, @Param("code") String code, @Param("mainCabCode")String mainCabCode);

    HashMap outTopQueryOutNameNum(@Param("begin") LocalDateTime localDateTime, @Param("end") LocalDateTime localDateTime1, @Param("code") String code, @Param("mainCabCode")String mainCabCode);

    HashMap outTopQueryOutSkuNum(@Param("begin") LocalDateTime localDateTime, @Param("end") LocalDateTime localDateTime1, @Param("code") String code,  @Param("mainCabCode")String mainCabCode);

    HashMap outTopQueryOutDeviceNum(@Param("begin") LocalDateTime localDateTime, @Param("end") LocalDateTime localDateTime1, @Param("code") String code, @Param("mainCabCode")String mainCabCode);

    List<HashMap> outProductByProduct(@Param("begin") LocalDateTime localDateTime, @Param("end") LocalDateTime localDateTime1, @Param("code") String code,  @Param("mainCabCode")String mainCabCode);

    List<HashMap> outProductByType(@Param("begin") LocalDateTime localDateTime, @Param("end") LocalDateTime localDateTime1, @Param("code") String code, @Param("mainCabCode")String mainCabCode);

    List<HashMap> outRankByCreatorName(@Param("begin") LocalDateTime localDateTime, @Param("end") LocalDateTime localDateTime1, @Param("code") String code, @Param("mainCabCode")String mainCabCode);

    List<HashMap> outTopQueryStagingNumClick(@Param("begin") LocalDateTime localDateTime, @Param("end") LocalDateTime localDateTime1, @Param("code") String code,  @Param("mainCabCode")String mainCabCode);

    List<HashMap> outTopQueryOutOrderNumClick(@Param("begin") LocalDateTime localDateTime, @Param("end") LocalDateTime localDateTime1, @Param("code") String code, @Param("mainCabCode")String mainCabCode);

    List<HashMap> outTopQueryOutNameNumClick(@Param("begin") LocalDateTime localDateTime, @Param("end") LocalDateTime localDateTime1, @Param("code") String code, @Param("mainCabCode")String mainCabCode);

    List<HashMap> outTopQueryOutSkuNumClick(@Param("begin") LocalDateTime localDateTime, @Param("end") LocalDateTime localDateTime1, @Param("code") String code, @Param("mainCabCode")String mainCabCode);

    List<HashMap> outTopQueryOutDeviceNumClick(@Param("begin") LocalDateTime localDateTime, @Param("end") LocalDateTime localDateTime1, @Param("code") String code, @Param("mainCabCode")String mainCabCode);

    List<HashMap> queryCabinetByCategory(@Param("begin") LocalDateTime localDateTime, @Param("end") LocalDateTime localDateTime1, @Param("param") String param, @Param("code") String code, @Param("mainCabCode")String mainCabCode);

    List<HashMap> queryCabinetByBrand(@Param("begin") LocalDateTime localDateTime, @Param("end") LocalDateTime localDateTime1, @Param("param") String param, @Param("code") String code, @Param("mainCabCode")String mainCabCode);

    HashMap checkTopQueryNotCheckNum(@Param("code") String code, @Param("mainCabCode")String mainCabCode);

    HashMap checkTopQueryRepairOrderNum(@Param("begin") LocalDateTime localDateTime, @Param("end") LocalDateTime localDateTime1, @Param("code") String code, @Param("mainCabCode")String mainCabCode);

    HashMap checkTopQueryRecycleOrderNum(@Param("begin") LocalDateTime localDateTime, @Param("end") LocalDateTime localDateTime1, @Param("code") String code, @Param("mainCabCode")String mainCabCode);

    HashMap checkTopQueryStagingOrderNum(@Param("begin") LocalDateTime localDateTime, @Param("end") LocalDateTime localDateTime1, @Param("code") String code, @Param("mainCabCode")String mainCabCode);

    HashMap checkTopQueryUnusualNum(@Param("begin") LocalDateTime localDateTime, @Param("end") LocalDateTime localDateTime1, @Param("code") String code, @Param("mainCabCode")String mainCabCode);

    HashMap checkTopQueryDefectNum(@Param("begin") LocalDateTime localDateTime, @Param("end") LocalDateTime localDateTime1, @Param("code") String code, @Param("mainCabCode")String mainCabCode);

    List<HashMap> checkRankByCreatorName(@Param("begin") LocalDateTime localDateTime, @Param("end") LocalDateTime localDateTime1, @Param("code") String code,@Param("mainCabCode") String mainCabCode);

    List<HashMap> checkRankByWorkshop(@Param("begin") LocalDateTime localDateTime, @Param("end") LocalDateTime localDateTime1, @Param("code") String code,@Param("mainCabCode")String mainCabCode);

    List<HashMap> checkRankBySkuName(@Param("begin") LocalDateTime localDateTime, @Param("end") LocalDateTime localDateTime1, @Param("code") String code, @Param("mainCabCode")String mainCabCode);

    List<HashMap> checkRankByDay(@Param("begin") LocalDateTime localDateTime, @Param("end") LocalDateTime localDateTime1, @Param("code") String code,@Param("mainCabCode")String mainCabCode);

    List<HashMap> checkRankByDate(@Param("begin") LocalDateTime localDateTime, @Param("end") LocalDateTime localDateTime1, @Param("code") String code, @Param("mainCabCode")String mainCabCode);

    List<HashMap> checkLoseBySkuName(@Param("begin") LocalDateTime localDateTime, @Param("end") LocalDateTime localDateTime1, @Param("code") String code, @Param("mainCabCode")String mainCabCode);

    List<HashMap> checkTopQueryNotCheckNumClick(@Param("code") String code, @Param("mainCabCode")String mainCabCode);

    List<HashMap> checkTopQueryRepairOrderNumClick(@Param("begin") LocalDateTime localDateTime, @Param("end") LocalDateTime localDateTime1, @Param("code") String code, @Param("mainCabCode")String mainCabCode);

    List<HashMap> checkTopQueryRecycleOrderNumClick(@Param("begin") LocalDateTime localDateTime, @Param("end") LocalDateTime localDateTime1, @Param("code") String code, @Param("mainCabCode")String mainCabCode);

    List<HashMap> checkTopQueryStagingOrderNumClick(@Param("begin") LocalDateTime localDateTime, @Param("end") LocalDateTime localDateTime1, @Param("code") String code, @Param("mainCabCode")String mainCabCode);

    List<HashMap> checkTopQueryUnusualNumClick(@Param("begin") LocalDateTime localDateTime, @Param("end") LocalDateTime localDateTime1, @Param("code") String code,@Param("mainCabCode")String mainCabCode);
    List<HashMap> checkTopQueryUnusualNumClick(@Param("begin") LocalDateTime localDateTime, @Param("end") LocalDateTime localDateTime1, @Param("code") String code,@Param("mainCabCode")String mainCabCode, @Param("creatorId")Long creatorId);

    List<HashMap> checkTopQueryDefectNumClick(@Param("begin") LocalDateTime localDateTime, @Param("end") LocalDateTime localDateTime1, @Param("code") String code,@Param("mainCabCode")String mainCabCode);

    HashMap repairTopQueryRepairNum(@Param("begin") LocalDateTime localDateTime, @Param("end") LocalDateTime localDateTime1, @Param("code") String code, @Param("mainCabCode")String mainCabCode);
    HashMap repairTopQueryRepairNum2(@Param("begin") LocalDateTime localDateTime, @Param("end") LocalDateTime localDateTime1, @Param("code") String code, @Param("mainCabCode")String mainCabCode);


    HashMap repairTopQueryUnusualNum(@Param("begin") LocalDateTime localDateTime, @Param("end") LocalDateTime localDateTime1, @Param("code") String code, @Param("mainCabCode")String mainCabCode);

    HashMap repairTopQueryRepairOrderRank(@Param("begin") LocalDateTime localDateTime, @Param("end") LocalDateTime localDateTime1, @Param("code") String code,@Param("mainCabCode")String mainCabCode);

    HashMap repairTopQueryRepairKnifeNum(@Param("begin") LocalDateTime localDateTime, @Param("end") LocalDateTime localDateTime1, @Param("code") String code, @Param("mainCabCode")String mainCabCode);

    HashMap repairTopQueryRepairEndRank(@Param("begin") LocalDateTime localDateTime, @Param("end") LocalDateTime localDateTime1, @Param("code") String code,@Param("mainCabCode")String mainCabCode);

    List<HashMap> repairRankByCreatorName(@Param("begin") LocalDateTime localDateTime, @Param("end") LocalDateTime localDateTime1, @Param("code") String code,@Param("mainCabCode")String mainCabCode);

    List<HashMap> repairRankByWorkshop(@Param("begin") LocalDateTime localDateTime, @Param("end") LocalDateTime localDateTime1, @Param("code") String code,@Param("mainCabCode")String mainCabCode);

    List<HashMap> repairRankBySkuName(@Param("begin") LocalDateTime localDateTime, @Param("end") LocalDateTime localDateTime1, @Param("code") String code,@Param("mainCabCode")String mainCabCode);

    List<HashMap> repairRankByDevice(@Param("begin") LocalDateTime localDateTime, @Param("end") LocalDateTime localDateTime1, @Param("code") String code,@Param("mainCabCode")String mainCabCode);

    List<HashMap> repairRankByDay(@Param("begin") LocalDateTime localDateTime, @Param("end") LocalDateTime localDateTime1, @Param("code") String code, @Param("mainCabCode")String mainCabCode);

    List<HashMap> repairRankByDate(@Param("begin") LocalDateTime localDateTime, @Param("end") LocalDateTime localDateTime1, @Param("code") String code, @Param("mainCabCode")String mainCabCode);

    List<HashMap> repairTopQueryRepairNumClick(@Param("begin") LocalDateTime localDateTime, @Param("end") LocalDateTime localDateTime1, @Param("code") String code,@Param("mainCabCode") String mainCabCode);
    List<HashMap> repairTopQueryRepairNumClick2(@Param("begin") LocalDateTime localDateTime, @Param("end") LocalDateTime localDateTime1, @Param("code") String code,@Param("mainCabCode") String mainCabCode);

    List<HashMap> repairTopQueryUnusualNumClick(@Param("begin") LocalDateTime localDateTime, @Param("end") LocalDateTime localDateTime1, @Param("code") String code,@Param("mainCabCode")String mainCabCode);

    List<HashMap> repairTopQueryRepairOrderRankClick(@Param("begin") LocalDateTime localDateTime, @Param("end") LocalDateTime localDateTime1, @Param("code") String code, @Param("mainCabCode")String mainCabCode);

    List<HashMap> repairTopQueryRepairKnifeNumClick(@Param("begin") LocalDateTime localDateTime, @Param("end") LocalDateTime localDateTime1, @Param("code") String code,@Param("mainCabCode")String mainCabCode);

    List<HashMap> repairTopQueryRepairEndRankClick(@Param("begin") LocalDateTime localDateTime, @Param("end") LocalDateTime localDateTime1, @Param("code") String code,@Param("mainCabCode")String mainCabCode);

    HashMap recycleTopQueryRecycleNum(@Param("begin") LocalDateTime localDateTime, @Param("end") LocalDateTime localDateTime1, @Param("code") String code,@Param("mainCabCode")String mainCabCode);

    HashMap recycleTopQueryUnusualNum(@Param("begin") LocalDateTime localDateTime, @Param("end") LocalDateTime localDateTime1, @Param("code") String code, @Param("mainCabCode")String mainCabCode);

    HashMap recycleTopQueryRecycleOrderRank(@Param("begin") LocalDateTime localDateTime, @Param("end") LocalDateTime localDateTime1, @Param("code") String code,@Param("mainCabCode")String mainCabCode);

    HashMap recycleTopQueryRecycleKnifeNum(@Param("begin") LocalDateTime localDateTime, @Param("end") LocalDateTime localDateTime1, @Param("code") String code, @Param("mainCabCode")String mainCabCode);

    HashMap recycleTopQueryRecycleEndRank(@Param("begin") LocalDateTime localDateTime, @Param("end") LocalDateTime localDateTime1, @Param("code") String code,@Param("mainCabCode")String mainCabCode);

    List<HashMap> recycleRankByCreatorNameTotal(@Param("begin") LocalDateTime localDateTime, @Param("end") LocalDateTime localDateTime1, @Param("code") String code,@Param("mainCabCode") String mainCabCode,@Param("businessType") int businessType);
    List<HashMap> recycleRankByCreatorName(@Param("begin") LocalDateTime localDateTime, @Param("end") LocalDateTime localDateTime1, @Param("code") String code,@Param("mainCabCode") String mainCabCode);

    List<HashMap> recycleRankByWorkshop(@Param("begin") LocalDateTime localDateTime, @Param("end") LocalDateTime localDateTime1, @Param("code") String code,@Param("mainCabCode")String mainCabCode);

    List<HashMap> recycleRankBySkuName(@Param("begin") LocalDateTime localDateTime, @Param("end") LocalDateTime localDateTime1, @Param("code") String code,@Param("mainCabCode")String mainCabCode);

    List<HashMap> recycleRankByDevice(@Param("begin") LocalDateTime localDateTime, @Param("end") LocalDateTime localDateTime1, @Param("code") String code,@Param("mainCabCode")String mainCabCode);

    List<HashMap> recycleRankByDay(@Param("begin") LocalDateTime localDateTime, @Param("end") LocalDateTime localDateTime1, @Param("code") String code, @Param("mainCabCode")String mainCabCode);

    List<HashMap> recycleRankByDate(@Param("begin") LocalDateTime localDateTime, @Param("end") LocalDateTime localDateTime1, @Param("code") String code, @Param("mainCabCode")String mainCabCode);

    /**
     * 报修|报废统计(按天)
     * @param code
     * @param param
     * @param businessType
     * @return
     */
    List<HashMap> querySpecStatisticsByDay(@Param("code") String code,@Param("param") String param, @Param("businessType") Integer businessType);

    /**
     * 报废|报修物料规格型号占比总计
     * @param startTime
     * @param endTime
     * @param code
     * @param mainCabCode
     * @param param
     * @return
     */
    List<HashMap> querySpecMCTotal(@Param("start") LocalDateTime startTime, @Param("end") LocalDateTime endTime, @Param("code") String code,@Param("param") String param, @Param("mainCabCode") String mainCabCode, @Param("businessType") Integer businessType);
    /**
     * 报废|报修物料规格型号占比
     * @param startTime
     * @param endTime
     * @param code
     * @param mainCabCode
     * @param param
     * @return
     */
    List<HashMap> querySpecMC(@Param("start") LocalDateTime startTime, @Param("end") LocalDateTime endTime, @Param("code") String code,@Param("param") String param, @Param("mainCabCode") String mainCabCode, @Param("businessType") Integer businessType);
    /**
     * 报废|报修物料规格型号占比总计（单个值）
     * @param startTime
     * @param endTime
     * @param code
     * @param mainCabCode
     * @param param
     * @return
     */
    List<HashMap> querySpecMCTotalOne(@Param("start") LocalDateTime startTime, @Param("end") LocalDateTime endTime, @Param("code") String code,@Param("param") String param, @Param("mainCabCode") String mainCabCode, @Param("businessType") Integer businessType);


    List<HashMap> recycleTopQueryRecycleNumClick(@Param("begin") LocalDateTime localDateTime, @Param("end") LocalDateTime localDateTime1, @Param("code") String code, @Param("mainCabCode")String mainCabCode);

    List<HashMap> recycleTopQueryUnusualNumClick(@Param("begin") LocalDateTime localDateTime, @Param("end") LocalDateTime localDateTime1, @Param("code") String code, @Param("mainCabCode")String mainCabCode);

    List<HashMap> recycleTopQueryRecycleOrderRankClick(@Param("begin") LocalDateTime localDateTime, @Param("end") LocalDateTime localDateTime1, @Param("code") String code, @Param("mainCabCode")String mainCabCode);

    List<HashMap> recycleTopQueryRecycleKnifeNumClick(@Param("begin") LocalDateTime localDateTime, @Param("end") LocalDateTime localDateTime1, @Param("code") String code, @Param("mainCabCode")String mainCabCode);

    List<HashMap> recycleTopQueryRecycleEndRankClick(@Param("begin") LocalDateTime localDateTime, @Param("end") LocalDateTime localDateTime1, @Param("code") String code, @Param("mainCabCode")String mainCabCode);

    HashMap unusualTopQueryStagingUnusualNum(@Param("begin") LocalDateTime localDateTime, @Param("end") LocalDateTime localDateTime1, @Param("code") String code, @Param("mainCabCode")String mainCabCode);

    List<HashMap> unusualRankByCreatorName(@Param("begin") LocalDateTime localDateTime, @Param("end") LocalDateTime localDateTime1, @Param("code") String code, @Param("mainCabCode")String mainCabCode);

    List<HashMap> unusualRankByWorkshop(@Param("begin") LocalDateTime localDateTime, @Param("end") LocalDateTime localDateTime1, @Param("code") String code,@Param("mainCabCode")String mainCabCode);

    List<HashMap> unusualRankBySkuName(@Param("begin") LocalDateTime localDateTime, @Param("end") LocalDateTime localDateTime1, @Param("code") String code,@Param("mainCabCode")String mainCabCode);

    List<HashMap> unusualRankByDevice(@Param("begin") LocalDateTime localDateTime, @Param("end") LocalDateTime localDateTime1, @Param("code") String code,@Param("mainCabCode")String mainCabCode);

    List<HashMap> unusualRankByDay(@Param("begin") LocalDateTime localDateTime, @Param("end") LocalDateTime localDateTime1, @Param("code") String code, @Param("mainCabCode")String mainCabCode);

    List<HashMap> unusualRankByDate(@Param("begin") LocalDateTime localDateTime, @Param("end") LocalDateTime localDateTime1, @Param("code") String code, @Param("mainCabCode")String mainCabCode);

    List<HashMap> unusualTopQueryStagingNumClick(@Param("begin") LocalDateTime localDateTime, @Param("end") LocalDateTime localDateTime1, @Param("code") String code,@Param("mainCabCode")String mainCabCode);

    HashMap sellTopQueryUpNum(@Param("begin") LocalDateTime localDateTime, @Param("end") LocalDateTime localDateTime1, @Param("code") String code,@Param("mainCabCode")String mainCabCode);

    HashMap sellTopQueryDownNum(@Param("begin") LocalDateTime localDateTime, @Param("end") LocalDateTime localDateTime1, @Param("code") String code,@Param("mainCabCode")String mainCabCode);

    List<HashMap> sellBarByOldSpec(@Param("code") String code, @Param("mainCabCode")String mainCabCode);

    List<HashMap> sellBarBySkuCode(@Param("code") String code, @Param("mainCabCode")String mainCabCode);

    List<HashMap> sellBarByBrand(@Param("code") String code, @Param("mainCabCode")String mainCabCode);

    List<HashMap> sellBarByType(@Param("code") String code, @Param("mainCabCode")String mainCabCode);

    List<HashMap> sellBarByCategory(@Param("code") String code, @Param("mainCabCode")String mainCabCode);

    List<HashMap> sellBarBySpace(@Param("cabCode") String cabCode, @Param("code") String code,@Param("mainCabCode") String mainCabCode);

    List<HashMap> sellBarByCab(@Param("code") String code, @Param("mainCabCode")String mainCabCode);

    List<HashMap> queryUpNumClick(@Param("begin") LocalDateTime localDateTime, @Param("end") LocalDateTime localDateTime1, @Param("code") String code, @Param("mainCabCode")String mainCabCode);

    List<HashMap> queryDownNumClick(@Param("begin") LocalDateTime localDateTime, @Param("end") LocalDateTime localDateTime1, @Param("code") String code, @Param("mainCabCode")String mainCabCode);

    HashMap storeTopExist(@Param("code") String code, @Param("mainCabCode")String mainCabCode);

    HashMap storeTopOther(@Param("code") String code, @Param("mainCabCode")String mainCabCode);

    HashMap storeTopQueryRepairNum(@Param("code") String code, @Param("mainCabCode")String mainCabCode);

    HashMap storeTopQueryRecycleNum(@Param("code") String code, @Param("mainCabCode")String mainCabCode);

    HashMap storeTopQueryEmptyNum(@Param("code") String code, @Param("mainCabCode")String mainCabCode);

    HashMap storeTopQueryDefectNum(@Param("code") String code);

    HashMap storeTopQueryRepairdNum(@Param("code") String code);

    HashMap storeTopQueryRecycledNum(@Param("code") String code);

    List<HashMap> storeBarByOldSpec(@Param("code") String code, @Param("mainCabCode")String mainCabCode);

    List<HashMap> storeBarBySkuCode(@Param("code") String code, @Param("mainCabCode")String mainCabCode);

    List<HashMap> storeBarByBrand(@Param("code") String code, @Param("mainCabCode")String mainCabCode);

    List<HashMap> storeBarByType(@Param("code") String code, @Param("mainCabCode")String mainCabCode);

    List<HashMap> storeBarByCategory(@Param("code") String code, @Param("mainCabCode")String mainCabCode);

    List<HashMap> storeBarBySpace(@Param("cabCode") String cabCode, @Param("code") String code, @Param("mainCabCode")String mainCabCode);

    List<HashMap> storeBarByCab(@Param("code") String code, @Param("mainCabCode")String mainCabCode);

    List<HashMap> storeBarByDevice(@Param("code") String code, @Param("mainCabCode")String mainCabCode);

    List<HashMap> storeBarByPerson(@Param("code") String code, @Param("mainCabCode")String mainCabCode);

    List<HashMap> storeBarByDep(@Param("code") String code, @Param("mainCabCode")String mainCabCode);

    List<HashMap> storeTopExistClick(@Param("code") String code,  @Param("mainCabCode")String mainCabCode);

    List<HashMap> storeTopOtherClick(@Param("code") String cabCode, @Param("mainCabCode")String mainCabCode);

    List<HashMap> storeTopQueryRepairNumClick(@Param("code") String code, @Param("mainCabCode")String mainCabCode);

    List<HashMap> storeTopQueryRecycleNumClick(@Param("code") String code, @Param("mainCabCode")String mainCabCode);

    List<HashMap> storeTopQueryEmptyNumClick(@Param("code") String code, @Param("mainCabCode")String mainCabCode);

    List<HashMap> storeTopQueryDefectNumClick(@Param("code")String code);

    List<HashMap> storeTopQueryRepairdNumClick(@Param("code") String code);

    List<HashMap> storeTopQueryRecycledNumClick(@Param("code") String code);

    HashMap useTopNow(@Param("code") String code);

    HashMap useTopReceive(@Param("code") String code);

    HashMap useTopReceiveNew(@Param("code") String code);

    HashMap useTopReceiveTake(@Param("code") String code);

    HashMap useTopReturn(@Param("code") String code);

    HashMap useTopReturnStaging(@Param("code") String code);

    HashMap useTopReturnRepair(@Param("code") String code);

    HashMap useTopReturnRecycle(@Param("code") String code);

    HashMap useTopReturnLoss(@Param("code") String code);

    List<HashMap> useBarByOldSpec(@Param("code") String code);

    List<HashMap> useBarBySkuCode(@Param("code") String code);

    List<HashMap> useBarByBrand(@Param("code") String code);

    List<HashMap> useBarByType(@Param("code") String code);

    List<HashMap> useBarByCategory(@Param("code") String code);

    List<HashMap> useBarByPerson(@Param("code") String code);

    List<HashMap> useBarByDevice(@Param("code") String code);

    List<HashMap> useBarByDep(@Param("code") String code);

    List<HashMap> useTopNowClick(@Param("code") String code);

    List<HashMap> useTopReceiveNewClick(@Param("code") String code);

    List<HashMap> useTopReturnStagingClick(@Param("code") String code);

    List<HashMap> useTopReceiveNewRecClick(String code);

    List<HashMap> useTopReceiveNewRetClick(String code);

    List<HashMap> useTopReturnStagingStoClick(String code);

    List<HashMap> useTopReturnStagingRepClick(String code);

    List<HashMap> useTopReturnStagingScrClick(String code);

    List<HashMap> useTopReturnStagingLossClick(String code);

    Object queryCabinetBySkuNameAvg(@Param("begin") LocalDateTime localDateTime, @Param("end") LocalDateTime localDateTime1, @Param("param") String param, @Param("code") String code, @Param("mainCabCode")String mainCabCode);

    List<HashMap> queryCabinetByTypeWeb(@Param("begin") LocalDateTime localDateTime, @Param("end") LocalDateTime localDateTime1, @Param("param") String param, @Param("code") String code, @Param("mainCabCode")String mainCabCode);

    Object queryCabinetByTypeAvg(@Param("begin") LocalDateTime localDateTime, @Param("end") LocalDateTime localDateTime1, @Param("param") String param, @Param("code") String code, @Param("mainCabCode")String mainCabCode);

    List<HashMap> querySpuAndSku(@Param("begin") LocalDateTime localDateTime, @Param("end") LocalDateTime localDateTime1, @Param("selectParam")String selectParam, @Param("param") String param, @Param("code") String code, @Param("mainCabCode")String mainCabCode);

    Object querySpuAndSkuAvg(@Param("begin") LocalDateTime localDateTime, @Param("end") LocalDateTime localDateTime1, @Param("selectParam")String selectParam, @Param("param") String param, @Param("code") String code, @Param("mainCabCode")String mainCabCode);

    Object queryCabinetByCategoryAvg(@Param("begin") LocalDateTime localDateTime, @Param("end") LocalDateTime localDateTime1, @Param("param") String param, @Param("code") String code, @Param("mainCabCode")String mainCabCode);

    Object queryCabinetByBrandAvg(@Param("begin") LocalDateTime localDateTime, @Param("end") LocalDateTime localDateTime1, @Param("param") String param, @Param("code") String code,  @Param("mainCabCode")String mainCabCode);

    List<HashMap> queryCabinetBySpace(@Param("begin") LocalDateTime localDateTime, @Param("end") LocalDateTime localDateTime1, @Param("cabCode") String cabCode, @Param("param") String param, @Param("code") String code, @Param("mainCabCode")String mainCabCode);

    Object queryCabinetBySpaceAvg(@Param("begin") LocalDateTime localDateTime, @Param("end") LocalDateTime localDateTime1, @Param("cabCode") String cabCode, @Param("param") String param, @Param("code") String code, @Param("mainCabCode")String mainCabCode);

    List<HashMap> queryCabinetByCab(@Param("begin") LocalDateTime localDateTime, @Param("end") LocalDateTime localDateTime1, @Param("param") String param, @Param("code") String code, @Param("mainCabCode")String mainCabCode);

    Object queryCabinetByCabAvg(@Param("begin") LocalDateTime localDateTime, @Param("end") LocalDateTime localDateTime1, @Param("param") String param, @Param("code") String code, @Param("mainCabCode")String mainCabCode);

    Object queryCabinetByNameAvg(@Param("begin") LocalDateTime localDateTime, @Param("end") LocalDateTime localDateTime1, @Param("param") String param, @Param("code") String code, @Param("mainCabCode")String mainCabCode);

    Object queryCabinetByMachineAvg(@Param("begin") LocalDateTime localDateTime, @Param("end") LocalDateTime localDateTime1, @Param("param") String param, @Param("code") String code, @Param("mainCabCode")String mainCabCode);

    List<HashMap> queryCabinetByDep(@Param("begin") LocalDateTime localDateTime, @Param("end") LocalDateTime localDateTime1, @Param("param") String param, @Param("code") String code, @Param("mainCabCode")String mainCabCode);

    Object queryCabinetByDepAvg(@Param("begin") LocalDateTime localDateTime, @Param("end") LocalDateTime localDateTime1, @Param("param") String param, @Param("code") String code, @Param("mainCabCode")String mainCabCode);

    List<HashMap> queryCabinetByDay(@Param("begin") LocalDateTime localDateTime, @Param("end") LocalDateTime localDateTime1, @Param("param") String param, @Param("code") String code, @Param("mainCabCode")String mainCabCode);

    List<HashMap> queryCabinetByDate(@Param("begin") LocalDateTime localDateTime, @Param("end") LocalDateTime localDateTime1, @Param("param") String param, @Param("code") String code,  @Param("mainCabCode")String mainCabCode);

    Object queryCabinetByDayAvg(@Param("begin") LocalDateTime localDateTime, @Param("end") LocalDateTime localDateTime1, @Param("param") String param, @Param("code") String code, @Param("mainCabCode")String mainCabCode);

    Object queryCabinetByDateAvg(@Param("begin") LocalDateTime localDateTime, @Param("end") LocalDateTime localDateTime1, @Param("param") String param, @Param("code") String code, @Param("mainCabCode")String mainCabCode);

    Integer queryCabinetTopAmount(@Param("startTime") LocalDateTime startTime,@Param("endTime") LocalDateTime endTime,@Param("enterpriseCode") String enterpriseCode);

    Integer queryCabinetTopAmounts(@Param("startTime") LocalDateTime startTime,@Param("endTime") LocalDateTime endTime,@Param("businessType") Integer businessType,@Param("enterpriseCode") String enterpriseCode);

    List<HashMap> queryCabinetMiddleNeckRanking(@Param("startTime") LocalDateTime startTime,@Param("endTime") LocalDateTime endTime,@Param("enterpriseCode") String enterpriseCode);

    List<HashMap> queryCabinetMiddleTempRanking(@Param("startTime") LocalDateTime startTime,@Param("endTime") LocalDateTime endTime,@Param("enterpriseCode") String enterpriseCode,@Param("businessType") Integer businessType);

    HashMap queryCutterConsumes(@Param("params") Map<String, Object> params);

    HashMap queryCutterAmount(@Param("params") Map<String, Object> params);

    Integer queryInCabinetNumber(@Param("params") Map<String, Object> params);

    Double statisticalInCabinetValue(@Param("params") Map<String, Object> params);

    Integer queryStockWarnedNumber(@Param("params") Map<String, Object> params);

    Integer querySurveyTaskNumber(@Param("params") Map<String, Object> params);

    List<CellSingleInventoryProductVO> queryStockWarned(@Param("params") Map<String, Object> params);

    /**
     * 维修
     * @param params
     * @return
     */
    HashMap queryCutterMaintain(@Param("params") Map<String, Object> params);

    /**
     * 报废
     * @param params
     * @return
     */
    HashMap queryCutterScrap(@Param("params") Map<String, Object> params);

    /**
     * 主柜领新数量
     * @return
     */
    Integer findCabinetRequisitionNumber(@Param("begin") LocalDateTime localDateTime, @Param("end") LocalDateTime localDateTime1,@Param("enterpriseCode")String enterpriseCode,@Param("mainCabCode")String mainCabCode);

    /**
     * 主柜领新金额
     * @return
     */
    Double findCabinetRequisitionMoney(@Param("begin") LocalDateTime localDateTime, @Param("end") LocalDateTime localDateTime1,@Param("enterpriseCode")String enterpriseCode,@Param("mainCabCode")String mainCabCode);

    /**
     * 主柜数量
     * @param enterpriseCode
     * @return
     */
    Integer findCabinetNumber(String enterpriseCode);

    /**
     * 刀具消耗数量
     * @param
     * @return
     */
    List<HashMap> findCabinetExpendNumber(@Param("begin") LocalDateTime localDateTime, @Param("end") LocalDateTime localDateTime1,@Param("enterpriseCode")String enterpriseCode);

    /**
     * 刀具消耗平均值
     * @param params
     * @return
     */
    Double findCabinetExpendAverage(@Param("params") Map<String, Object> params);

    /**
     * 根据主柜编码查询产品
     * @param params
     * @return
     */
    List<HashMap> findProductByMainCabCode(@Param("params") Map<String, Object> params);

    /**
     * 根据主柜编码统计产品平均值
     * @param params
     * @return
     */
    Double findProductAverageByMainCabCode(@Param("params") Map<String, Object> params);

    /**
     * 刀具消耗金额
     * @param
     * @return
     */
    List<HashMap> findCabinetExpendMoney(@Param("begin") LocalDateTime localDateTime, @Param("end") LocalDateTime localDateTime1,@Param("enterpriseCode")String enterpriseCode);

    /**
     * 根据主柜编码查询刀具消耗金额
     * @param params
     * @return
     */
    List<HashMap> findCabinetProductExpendMoneyByMainCabCode(@Param("params") Map<String, Object> params);

    /**
     * 查询主柜领新明细
     * @param params
     * @return
     */
    List<CellInventoryInoutVO> findCabinetDetail(@Param("page") Page<CellInventoryInoutVO> page, @Param("params") Map<String, Object> params);

    /**
     * 本月领新数量
     * @param params
     * @return
     */
    Integer findMaterialNumber(@Param("params") Map<String, Object> params);

    /**
     * 本月报废数量
     * @param params
     * @return
     */
    Integer findScrapNumber(@Param("params") Map<String, Object> params);

    /**
     * 本月报废数量
     * @param params
     * @return
     */
    Integer findMaintainNumber(@Param("params") Map<String, Object> params);

    List<HashMap> findMasterAmountClick(@Param("begin") LocalDateTime localDateTime, @Param("end") LocalDateTime localDateTime1,@Param("enterpriseCode")String enterpriseCode);

    List<CabinetVO> findMasterCabinet(String enterpriseCode);

    Double findCabinetProductSumMoneyByMainCabCode(@Param("params") Map<String, Object> params);

    List<HashMap> findDiscardReason(@Param("begin") LocalDateTime localDateTime, @Param("end") LocalDateTime localDateTime1,@Param("enterpriseCode") String enterpriseCode,@Param("brandId")Long brandId,@Param("devCode")String devCode,@Param("mainCabCode")String mainCabCode,@Param("businessType")int businessType);

    List<HashMap> findDiscardReason2(@Param("begin") LocalDateTime localDateTime, @Param("end") LocalDateTime localDateTime1,@Param("enterpriseCode") String enterpriseCode,@Param("mainCabCode")String mainCabCode,@Param("businessType")int businessType);
    List<HashMap> findNotReturnedInUse(@Param("enterpriseCode") String enterpriseCode);


    HashMap lossTop(@Param("begin") LocalDateTime localDateTime, @Param("end") LocalDateTime localDateTime1,@Param("code")String code);

    List<HashMap> lossTopClick(@Param("begin") LocalDateTime localDateTime, @Param("end") LocalDateTime localDateTime1,@Param("code")String code);


    HashMap lossTopNum(@Param("begin") LocalDateTime localDateTime, @Param("end") LocalDateTime localDateTime1,@Param("code")String code,@Param("mainCabCode")String mainCabCode);
    HashMap lossTopAmount(@Param("begin") LocalDateTime localDateTime, @Param("end") LocalDateTime localDateTime1,@Param("code")String code,@Param("mainCabCode")String mainCabCode);
    List<HashMap> lossTopClickNum(@Param("begin") LocalDateTime localDateTime, @Param("end") LocalDateTime localDateTime1,@Param("code")String code,@Param("mainCabCode")String mainCabCode);
    List<HashMap> lossTopClickAmount(@Param("begin") LocalDateTime localDateTime, @Param("end") LocalDateTime localDateTime1,@Param("code")String code,@Param("mainCabCode")String mainCabCode);

    List<HashMap> queryLossBySkuName(@Param("begin") LocalDateTime localDateTime, @Param("end") LocalDateTime localDateTime1,@Param("code")String code);

    List<HashMap> queryLossByTypeWeb(@Param("begin") LocalDateTime localDateTime, @Param("end") LocalDateTime localDateTime1,@Param("code")String code);

    List<HashMap> queryLossByCategory(@Param("begin") LocalDateTime localDateTime, @Param("end") LocalDateTime localDateTime1,@Param("code")String code);

    List<HashMap> queryLossByBrand(@Param("begin") LocalDateTime localDateTime, @Param("end") LocalDateTime localDateTime1,@Param("code")String code);

    List<HashMap> queryLossByNameWeb(@Param("begin") LocalDateTime localDateTime, @Param("end") LocalDateTime localDateTime1,@Param("code")String code);

    List<HashMap> queryLossByMachineWeb(@Param("begin") LocalDateTime localDateTime, @Param("end") LocalDateTime localDateTime1,@Param("code")String code);

    List<HashMap> queryLossByDep(@Param("begin") LocalDateTime localDateTime, @Param("end") LocalDateTime localDateTime1,@Param("code")String code);

    List<HashMap> queryNewRecords(@Param("begin")LocalDateTime localDateTime, @Param("end")LocalDateTime localDateTime1);

    Integer queryFirstCabinetTopUnreturn(@Param("code")String code);

    List<HashMap> queryFirstCabinetMiddleOne(@Param("begin")LocalDateTime localDateTime, @Param("end")LocalDateTime localDateTime1, @Param("code")String enterpriseCode);

    List<HashMap> queryFirstCabinetMiddleTwo(@Param("code") String enterpriseCode);

    HashMap queryOtherGetNewReport(@Param("code")String code, @Param("mainCabCode")String mainCabCode);

    List<HashMap> queryAlarmClickGetNewReport(@Param("code")String code, @Param("mainCabCode")String mainCabCode);
}
